Publication to shared content sources using natural language electronic mail destination addresses and interest profiles registered by the shared content sources

ABSTRACT

A system that enables users to conveniently and intuitively send email messages that automatically publish information in appropriate shared content sources. The system allows users to send email messages to shared sources based on keywords within text entered as destination email addresses. The shared sources register interest in certain topics by registering keywords with the email server system. An email server program then sends the email messages it receives for publication to the appropriate shared source(s) based on matching text in the destination address fields of the received messages with the keywords registered by the shared sources.

FIELD OF THE INVENTION

The present invention relates generally to computer applicationprograms, and more specifically to a system and method for publicationto shared sources using natural language electronic mail addresses andinterest profiles registered by shared content sources.

BACKGROUND OF THE INVENTION

In existing computer systems, a user can publish information to otherusers in an enterprise by sending electronic mail (“email”) messages tomultiple recipients, or by putting documents in shared content sources,such as databases or repositories. However, publication by email messageto multiple recipients is problematic, in that the resulting emailmessages appear in the destination users' inboxes, even if they are notimportant to that receiving user. This may cause a flooding problem inthe inbox. For many users, such email publications are undesirable,almost like spam.

In an alternative approach, information is published by placement in ashared content source, to which users can navigate when they want tolook for certain information. However, there are also problems with thepublication of information to such shared sources. A user may not knowwhich shared source to use to publish which information. A user may notknow whether a shared source exists for publication of the information,or the location of an appropriate shared source. Additionally, it may beundesirable to publish the information in multiple shared sources whenmultiple shared sources exist in which the information could bepublished in. Overall, publication through shared sources is frequentlyinconvenient and time consuming, and users accordingly are discouragedfrom publishing information that could advantageously be shared.

Some existing systems include the concept of mail-in databases that haveemail addresses. These systems allow a user to email messages to sharedsources in order to publish information. These solutions have beensignificantly limited, however, in that users still often do not knowthe appropriate email address(es) of the shared source(s).

For the above reasons it would be desirable to have a new system forusers to conveniently share information with multiple other users. Thesystem should be intuitive in the way it operates, such that users caneasily store the information to be published within the shared sources.

SUMMARY OF THE INVENTION

To address the above described and other deficiencies of the prior art,a method and system are disclosed that enable users to conveniently andintuitively send email messages to publish information in shared contentsources. The disclosed system operates by allowing users to send emailmessages to shared sources by using natural language destination emailaddresses. Text in the destination address is parsed for keywords, whichmay include topics or phrases, that have been registered as interestprofiles associated with corresponding shared sources. If a match with akeyword is found, the message is forwarded to a predetermined emaildestination associated with the shared source that registered thekeyword as part of its interest profile. Thus the message is publishedthrough the shared source that is interested in the message. Comparisonof the text contained in the destination address field to registeredkeywords may be performed by an email server system. Shared sourcesthemselves may operate to register interest in certain keywords throughthe email server system.

Thus there is disclosed a new system for users to conveniently shareinformation with multiple other users. The disclosed system operates inan intuitive way, so that users can easily store the information to bepublished within the appropriate shared sources.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to facilitate a fuller understanding of the present invention,reference is now made to the appended drawings. These drawings shouldnot be construed as limiting the present invention, but are intended tobe exemplary only.

FIG. 1 shows software components in an illustrative embodiment; and

FIG. 2 shows steps performed in the illustrative embodiment.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

As shown in FIG. 1, an illustrative embodiment of the disclosed systemoperates using a number of software components executing on at least oneclient computer system, shown for purposes of illustration as clientsystem 10 and client system 14, at least one email server computersystem, shown for purposes of illustration as email server system 20,and at least one shared content source server computer system, shown forpurposes of illustration as database server system 30 and databaseserver system 40. The client systems 10 and 14, email server system 20,and database server systems 30 and 40 may, for example, each include atleast one processor, program storage, such as memory, for storingprogram code executable on the processor, and one or more input/outputdevices and/or interfaces, such as data communication and/or peripheraldevices and/or interfaces. The client systems 10 and 14, email serversystem 20, and database server systems 30 and 40 are communicablyconnected by a data communication system, such as a Local Area Network(LAN), the Internet, or the like. The client systems 10 and 14, emailserver system 20, and database server systems 30 and 40 may furtherinclude appropriate operating system software.

The client system 10 is shown including an e-mail client component 12,and the client system 14 is shown including an e-mail client component16. The email clients 12 and 16 are each capable of providing agraphical user interface through which a user can define email messages,including message body, attachments, destination email addresses, andany other appropriate message attributes for a given implementation. Theuser interface provided by the email clients 12 and 16 further enables auser to provide an indication that an email message is to be treated aspublishable. Such indication may be provided, for example, by the userincluding a predetermined command string within a destination address or“TO:” field value, such as “publish:”, “publish to:”, or any otherpredetermined string. Such indication may alternatively be providedthrough other interface features, for example, by a mouse click on agraphical display object, such as a “PUBLISH” button, or some otherappropriate mechanism. As a result of the indication to the email clientthat a message is publishable, that message is marked by some indicationrecognized by a receiving email server to indicate that the message isnot a normal email message, but is to be processed as a publishablemessage. The user interface further allows for receipt of auser-provided natural language destination address value. For examplethe natural language destination address value may include free text tobe matched by a receiving email server against keywords stored in ashared source interest profile registry.

The email server system 20 is shown including an email server softwarecomponent 22, as well as shared content source interest profiles 24. Theshared content source interest profiles 24 are an example of a sharedsource interest profile registry. The shared content source interestprofiles 24 include associations between keywords and email addresses ofshared content sources. The keywords may consist of words or phrasesthat represent topics relating to corresponding shared content sources.A given keyword may correspond to multiple shared content sources, inwhich case it may be associated with multiple shared content sourceemail addresses. The shared content source interest profiles 24 aresearchable by keyword to determine the associated shared content sourceemail addresses. The shared content source interest profiles 24 includean interface for adding, modifying or deleting associations betweenkeywords and shared content source email addresses.

The email server 22 may operate as what is generally referred to as a“mail server”, “mail transport agent” (MTA), “mail router” or “Internetmailer”. It is an application program that is operable to receiveincoming email messages from local users, such as users within anassociated domain, as well as from remote senders, and to forwardoutgoing email messages. For example, the email server 22 may use SMTP(Simple Mail Transfer Protocol) or ESMTP (extended SMTP) for sendingemail messages, and either POP3 (Post Office Protocol 3) or IMAP(Internet Message Access Protocol) for receiving email messages.

The database server system 30 is shown including shared content sources34 and 36, and the database server system 40 includes shared contentsources 44 and 46. The shared content sources 34, 36, 44 and 46 mayinclude any appropriate software allowing for receipt of email messageswithin the forwarded messages 50 that are addressed to email addressesassociated with respective ones of the shared content sources 34, 36, 44and 46. Moreover, the shared content sources 34, 36, 44 and 46 arefurther operable to store the contents of received email messages thatare addressed to respective ones of the shared content sources 34, 36,44 and 46. For example, the shared content source 34 is operable toreceive forwarded email messages sent to a destination email addressassociated with the shared content source 34, and to store such receivedmessages, the shared content source 36 is operable to receive forwardedemail messages sent to a destination email address associated with theshared content source 36, etc.

The shared content sources 34, 36, 44 and 46 may consist of databases,repositories, teamrooms, or any other specific kind of shared contentsource. The shared content sources 34, 36, 44 and 46 are furtheroperable to register keywords in the shared content source interestprofiles 24 by sending interest registrations 52 to the email serversystem 20. The registered keywords may, for example, consist of textwords or phrases representing topics of interest associated withrespective ones of the shared content sources 34, 36, 44 and 46.

During operation of the components shown in FIG. 1, the email clients 12and 16 in the client systems 10 and 14 generate and send publishableemail messages 18 having natural language destination address values tothe email server 22 in the email server 20. The email server 22determines that the email messages 18 are to be processed as publishableemail messages, and compares the text in the natural languagedestination address values they contain with keywords in the sharedcontent source interest profiles 24. If a match is found, then theassociated one of the publishable email messages 18 is forwarded as oneof the forwarded messages 50 with a destination email address associatedwith the shared content source that registered the matching keyword.

In one embodiment, if a shared content source registers multiplekeywords, publishable messages are only forwarded to that shared contentsource if all the registered keywords for that shared content source arefound in the destination address field of the message. This represents alogical “AND” of all registered keywords for a shared content source.Alternatively, a logical “OR” approach could be used, such that themessage is forwarded to the shared content source if at least oneregistered keyword for that shared content source is found in thedestination address field. If no shared content source has registered akeyword matching text in the destination address field of a publishablemessage, that message may be sent to a shared content source that isdefined and maintained to stores such ‘dead’ messages.

FIG. 2 is a flow chart illustrating steps performed by an illustrativeembodiment of the disclosed system. At step 60, one or more sharedcontent sources send interest profile registration messages to an emailserver system. Alternatively, the email server system may act at step 60to obtain interest profile information either from one or moredirectories or other structures into which the shared content sourcesstore their respective interest profile information, or directly fromthe individual shared content sources themselves. At step 62,registration messages or the like are received by the email serversystem, and software components on the email server system operate tostore the shared content source interest profile information. Forexample, the shared content source interest profile information mayinclude keywords and shared content source email addresses to beassociated with those keywords. In response, software components on theemail server system form associations in a database of shared contentsource interest profile information between the keywords and the emailaddresses.

At step 64, a user creates and sends an email message for publicationthat has a natural language destination address. For example, using anembodiment of the disclosed system, a user can create an email messagewith a destination or “TO:” field value of “publish: RCP, smart client,Eclipse”. In this example, the predetermined command string “publish:”is followed by free text consisting of a comma separated list ofkeywords such as words, acronyms, phrases or other text strings. Variousother techniques may be used to indicate the publishability of amessage. For example, the email client may present a graphical userinterface button display object that can be clicked on by the user,causing a given message to be considered publishable.

Indication that a given message is publishable may also be provided invarious ways. For example, a publishable message may be markedinternally by using a special MIME (Multipurpose Internet MailExtensions) content type. Any appropriate indication may be used for agiven embodiment.

The publishable email message is received by the email server system atstep 66. The email server system determines that the email message is tobe processed as a publishable email message in response to finding thepredetermined command string “publish:” in the destination address fieldvalue. As a result, the free text in the destination address value iscompared with keywords in the shared content source interest profileinformation. If any of the strings “RCP”, “smart client”, or “Eclipse”matches a registered keyword, the message is forwarded to the emailaddress of the associated shared content source. For example, a sharedcontent source with an email address of “RCPTeamroom@us.ibm.com” mayhave previously registered one or more of the keywords “RCP”, “smartclient” and “Eclipse.” In that case, a simple matching algorithm wouldfind at least one match between the natural language destination addressvalue and the registered keywords. In response to that match, the emailserver system would operate to forward the publishable email message tothe email address “RCPTeamroom@us.ibm.com” at step 68. At step 70, theshared content source system receives the forwarded publishable emailmessage, and stores the contents of the message in the shared contentsource indicated by the destination address of the email message.

FIGS. 1-2 are block diagram and flowchart illustrations of methods,apparatus(s) and computer program products according to an embodiment ofthe invention. It will be understood that each block of FIGS. 1-2, andcombinations of these blocks, can be implemented by computer programinstructions. These computer program instructions may be loaded onto acomputer or other programmable data processing apparatus to produce amachine, such that the instructions which execute on the computer orother programmable data processing apparatus create means forimplementing the functions specified in the block or blocks. Thesecomputer program instructions may also be stored in a computer-readablememory that can direct a computer or other programmable data processingapparatus to function in a particular manner, such that the instructionsstored in the computer-readable memory produce an article of manufactureincluding instruction means which implement the function specified inthe block or blocks. The computer program instructions may also beloaded onto a computer or other programmable data processing apparatusto cause a series of operational steps to be performed on the computeror other programmable apparatus to produce a computer implementedprocess such that the instructions which execute on the computer orother programmable apparatus provide steps for implementing thefunctions specified in the block or blocks.

Those skilled in the art should readily appreciate that programsdefining the functions of the present invention can be delivered to acomputer in many forms; including, but not limited to: (a) informationpermanently stored on non-writable storage media (e.g. read only memorydevices within a computer such as ROM or CD-ROM disks readable by acomputer I/O attachment); (b) information alterably stored on writablestorage media (e.g. floppy disks and hard drives); or (c) informationconveyed to a computer through communication media for example usingwireless, baseband signaling or broadband signaling techniques,including carrier wave signaling techniques, such as over computer ortelephone networks via a modem.

While the invention is described through the above exemplaryembodiments, it will be understood by those of ordinary skill in the artthat modification to and variation of the illustrated embodiments may bemade without departing from the inventive concepts herein disclosed.Moreover, while the preferred embodiments are described in connectionwith various illustrative program command structures, one skilled in theart will recognize that they may be embodied using a variety of specificcommand structures.

1. A method of publishing information to multiple users, comprising:receiving at least one interest profile registration request from ashared content source, wherein said request includes at least onekeyword; storing said keyword in an interest profile registry inassociation with an electronic mail address of said shared contentsource; receiving a publishable electronic mail message, said messageincluding a natural language destination address; comparing said naturallanguage destination address with said keyword stored in said interestprofile registry; and in the event that at least part of said naturallanguage destination address matches said keyword stored in saidinterest profile registry, forwarding said publishable electronic mailmessage to said electronic mail address of said shared content source.2. The method of claim 1, further comprising: inputting said publishableelectronic mail message through a user interface provided on a clientcomputer system; wherein said inputting includes receiving a userindication that said publishable electronic mail message is publishable;and wherein said comparing said natural language destination address isresponsive to detection of said user indication that said publishableelectronic mail message is publishable.
 3. The method of claim 2,wherein said user indication comprises a predetermined command string insaid natural language destination address.
 4. The method of claim 2,wherein said user indication comprises selection of a predetermined userinterface display object.
 5. The method of claim 4, wherein saidselection of said predetermined user interface display object comprisesat least one mouse click on a button display object.
 6. The method ofclaim 1, further comprising: receiving said forwarded publishableelectronic mail message at a shared content source server system;determining said shared content source responsive to said electronicmail address of said shared content source; and storing at least aportion of said publishable electronic mail message in said sharedcontent source.
 7. The method of claim 1, wherein said shared contentsource comprises a shared database.
 8. The method of claim 1, whereinsaid natural language destination address comprises a plurality ofkeywords to be compared to a plurality of keywords stored in saidinterest profile registry.
 9. The method of claim 1, wherein said stepsare performed by an electronic mail server.
 10. A system for publishinginformation to multiple users, said system including at least onecomputer readable program storage medium having a computer programstored thereon, said computer program comprising: program code forreceiving at least one interest profile registration request from ashared content source, wherein said request includes at least onekeyword; program code for storing said keyword in an interest profileregistry in association with an electronic mail address of said sharedcontent source; program code for receiving a publishable electronic mailmessage, said message including a natural language destination address;program code for comparing said natural language destination addresswith said keyword stored in said interest profile registry; and programcode for, in the event that at least part of said natural languagedestination address matches said keyword stored in said interest profileregistry, forwarding said publishable electronic mail message to saidelectronic mail address of said shared content source.
 11. The system ofclaim 10, further comprising: program code for inputting saidpublishable electronic mail message through a user interface provided ona client computer system; wherein said program code for inputtingincludes program code for receiving a user indication that saidpublishable electronic mail message is publishable; and wherein saidprogram code for comparing said natural language destination address isresponsive to detection of said user indication that said publishableelectronic mail message is publishable.
 12. The system of claim 11,wherein said user indication comprises a predetermined command string insaid natural language destination address.
 13. The system of claim 11,wherein said user indication comprises selection of a predetermined userinterface display object.
 14. The system of claim 13, wherein saidselection of said predetermined user interface display object comprisesat least one mouse click on a button display object.
 15. The system ofclaim 10, further comprising: program code for receiving said forwardedpublishable electronic mail message at a shared content source serversystem; program code for determining said shared content sourceresponsive to said electronic mail address of said shared contentsource; and program code for storing at least a portion of saidpublishable electronic mail message in said shared content source. 16.The system of claim 10, wherein said shared content source comprises ashared database.
 17. The system of claim 10, wherein said naturallanguage destination address comprises a plurality of keywords to becompared to a plurality of keywords stored in said interest profileregistry.
 18. The system of claim 10, wherein said computer readablemedium and program code are located within and executed by an electronicmail server.
 19. A computer program product including a computerreadable medium, said computer readable medium having program code forpublishing information to multiple users stored thereon, said programcode comprising: program code for receiving at least one interestprofile registration request from a shared content source, wherein saidrequest includes at least one keyword; program code for storing saidkeyword in an interest profile registry in association with anelectronic mail address of said shared content source; program code forreceiving a publishable electronic mail message, said message includinga natural language destination address; program code for comparing saidnatural language destination address with said keyword stored in saidinterest profile registry; and program code for, in the event that atleast part of said natural language destination address matches saidkeyword stored in said interest profile registry, forwarding saidpublishable electronic mail message to said electronic mail address ofsaid shared content source.
 20. A computer data signal embodied in acarrier wave, said computer data signal including at least one computerprogram for publishing information to multiple users, said computerprogram comprising: program code for receiving at least one interestprofile registration request from a shared content source, wherein saidrequest includes at least one keyword; program code for storing saidkeyword in an interest profile registry in association with anelectronic mail address of said shared content source; program code forreceiving a publishable electronic mail message, said message includinga natural language destination address; program code for comparing saidnatural language destination address with said keyword stored in saidinterest profile registry; and program code for, in the event that atleast part of said natural language destination address matches saidkeyword stored in said interest profile registry, forwarding saidpublishable electronic mail message to said electronic mail address ofsaid shared content source.
 21. A system for publishing information tomultiple users, comprising: means for receiving at least one interestprofile registration request from a shared content source, wherein saidrequest includes at least one keyword; means for storing said keyword inan interest profile registry in association with an electronic mailaddress of said shared content source; means for receiving a publishableelectronic mail message, said message including a natural languagedestination address; means for comparing said natural languagedestination address with said keyword stored in said interest profileregistry; and means for, in the event that at least part of said naturallanguage destination address matches said keyword stored in saidinterest profile registry, forwarding said publishable electronic mailmessage to said electronic mail address of said shared content source.